package connect5.ia;

/**
 * 
 * @author Jean-Sébastien Carrier 09111720
 * @author Guillaume Paquette Boisclair 09129089
 *
 */

public enum Pattern {
	
	NNNNN("11111", 1000000000),
	BBBBB("22222", -100000000),
	
	OBBBB("02222",-1000000),//next move loss
	BOBBB("20222",-1000000),
	BBOBB("22022",-1000000),
	BBBOB("22202",-1000000),
	BBBBO("22220",-1000000),

	ONNNN("01111",10000000),//next move win
	NONNN("10111",10000000),
	NNONN("11011",10000000),
	NNNON("11101",10000000),
	NNNNO("11110",10000000),

	OOBBBOO("0022200",-10000),//second next move loss
	OBBBOO("022200",-10000),
	OOBBBO("002220",-10000),
	OBBBO("02220",-10000),
	OOBBB("00222",-10000),
	BBBOO("22200",-10000),

	OBOBBO("020220",-10000),
	BOBBOO("202200",-10000),

	OBOBB("02022",-10000),
	BOBBO("20220",-10000),
	OBBOB("02202",-10000),
	BBOBO("22020",-10000),

	OOBBOB("002202",-10000),
	OBBOBO("022020",-10000),

	BOBOB("20202",-10000),
	BOOBB("20022",-10000),
	BBOOB("22002",-10000),

	OONNNOO("0011100",100000),//second next move win
	ONNNOO("011100",100000),
	OONNNO("001110",100000),
	ONNNO("01110",100000),
	OONNN("00111",100000),
	NNNOO("11100",100000),

	ONONNO("010110",100000),
	NONNOO("101100",100000),

	ONONN("01011",100000),
	NONNO("10110",100000),
	ONNON("01101",100000),
	NNONO("11010",100000),

	OONNON("001101",100000),
	ONNONO("011010",100000),

	NONON("10101",100000),
	NOONN("10011",100000),
	NNOON("11001",100000),

	OOONNOOO("00011000", 1000),
	OOONNOO("0001100", 1000),
	OOONNO("000110", 1000),
	OOONN("00011", 1000),
	OONNOOO("0011000", 1000),
	OONNOO("001100", 1000),
	OONNO("00110", 1000),
	ONNOO("01100", 1000),
	NNOOO("11000", 1000),
	OONONOO("0010100", 1000),
	OONONO("001010", 1000),
	OONON("00101", 1000),
	ONONOO("010100", 1000),
	ONONO("01010", 1000),
	NONOO("10100", 1000),
	ONOONO("010010", 1000),
	ONOON("01001", 1000),
	NOONO("10010", 1000),
	NOOON("10001", 1000),
	
	OOOBBOOO("00022000", -100),
	OOOBBOO("0002200", -100),
	OOOBBO("000220", -100),
	OOOBB("00022", -100),
	OOBBOOO("0022000", -100),
	OOBBOO("002200", -100),
	OOBBO("00220", -100),
	OBBOO("02200", -100),
	BBOOO("22000", -100),
	OOBOBOO("0020200", -100),
	OOBOBO("002020", -100),
	OOBOB("00202", -100),
	OBOBOO("020200", -100),
	OBOBO("02020", -100),
	BOBOO("20200", -100),
	OBOOBO("020020", -100),
	OBOOB("02002", -100),
	BOOBO("20020", -100),
	BOOOB("20002", -100),
	
	OONOO("00100", 10),
	OOBOO("00200", -1);
	
	private String innerStr;
	private int weigth;
	
	private Pattern(String str, int weigthValue) {
		innerStr = str;
		weigth = weigthValue;
	}

	public String getInnerStr() {
		return innerStr;
	}

	public void setInnerStr(String innerStr) {
		this.innerStr = innerStr;
	}

	public int getWeigth() {
		return weigth;
	}

	public void setWeigth(int weigth) {
		this.weigth = weigth;
	}
}
